home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / artemis / artsrc2 / time.c < prev    next >
C/C++ Source or Header  |  1994-06-01  |  962b  |  44 lines

  1. /*
  2.     time.c
  3. */
  4.  
  5. #include <ryosuke.h>
  6. #include <dos.h>
  7. #include <fcntl.h>
  8. #include "usrlib.h"
  9.  
  10. int getftime(char *fname, TIME *timebuf)    // ★ファイルの作成日時を得る
  11.     // → 成功すれば 0 を返す
  12.     {
  13.     int fd;  unsigned int date,time;
  14.     if (_dos_open(fname, _O_RDONLY, &fd) == 0) {
  15.         _dos_getftime(fd, &date, &time);
  16.         timebuf->year = 1980 + (date >> 9);
  17.         timebuf->mon  = (date >> 5) & 15;
  18.         timebuf->day  = date & 31;
  19.         timebuf->hour = (time >> 11);
  20.         timebuf->min  = (time >> 5) & 63;
  21.         timebuf->sec  = (time & 31) * 2;
  22.         _dos_close(fd);
  23.         return 0;
  24.         }
  25.     else
  26.         return -1;
  27.     }
  28.  
  29. void getnowtime(TIME *timebuf)                // ★現在の日時を得る
  30.     {
  31.     struct dosdate_t date;
  32.     struct dostime_t time;
  33.     _dos_getdate(&date);
  34.     timebuf->year = date.year;
  35.     timebuf->mon  = date.month;
  36.     timebuf->day  = date.day;
  37.     _dos_gettime(&time);
  38.     timebuf->hour = time.hour;
  39.     timebuf->min  = time.minute;
  40.     timebuf->sec  = time.second;
  41.     }
  42.  
  43. /* end of time.c */
  44.